/*
 * @lc app=leetcode.cn id=283 lang=javascript
 *
 * [283] 移动零
 */

// @lc code=start
/**
 * @param {number[]} nums
 * @return {void} Do not return anything, modify nums in-place instead.
 */
// 快慢指针
// 慢指针为0,
// 快指针不为0时,交换.
// 快指针为0时,不交换
// 快慢都前进一个
// 慢指针不为0, 快慢都前进一个
var moveZeroes = function(nums) {
  let slow = 0
  for (let fast = 0; fast < nums.length; fast ++) {
    if (nums[slow]) {
      slow++
    } else if (nums[fast]) {
      [nums[slow], nums[fast]] = [nums[fast], nums[slow]]
      slow++
    }
  }
  return nums
};
// @lc code=end

